<?php

class BusquedasController extends Zend_Controller_Action
{

    public function init()
    {
        /* Por seguridad no dejar ingresar a nadie que no este loggeado */
		$auth = Zend_Auth::getInstance();
		if (!$auth->hasIdentity()) {
			/* Redirigir a la seccion de ingreso para las empresas */
			$this->_helper->redirector('index', 'empresas');
		}else{
			$userInfo = $auth->getStorage()->read();
				if(!$userInfo['idEmpresa']){ //no es empresa
					if($userInfo['idAdmin']){
						$this->_helper->redirector('panel', 'admin');
					}else{
						$this->_helper->redirector('index', 'index');
					}
				}
		}
    }

    public function indexAction()
    {
        // action body
		$this->_helper->redirector('listar', 'busquedas');
    }

    public function altaAction()
    {
        // Generamos una instancia del formulario
		$form = new Application_Form_IngresarBusqueda();
		$this->view->ingresada = false;
		if($this->_request->isPost() && $form->isValid($this->_request->getPost())) {
			$empresaInfo = Zend_Auth::getInstance()->getStorage()->read();
			$tablaBusquedas = new Application_Model_DbTable_Busquedas();
			$datos = array(
				'idempresa' => $empresaInfo['idEmpresa'], 
				'idcategoria' => $form->getValue('perfil'), 
				'descripcion' => $form->getValue('descripcion'), 
				'estudios' => $form->getValue('estudios'), 
				'experiencia' => $form->getValue('experiencia')
			);
			$tablaBusquedas->insert($datos);
			$this->view->ingresada = true;
		}
		
		$this->view->ingresarBusqueda = $form;
    }

    public function listarAction()
    {
        // action body
		$tablaBusquedas = new Application_Model_DbTable_Busquedas();
		$empresaInfo = Zend_Auth::getInstance()->getStorage()->read();
		$resultado = $tablaBusquedas->getBusquedasFromIdEmpresa($empresaInfo['idEmpresa']);
		
		$this->view->datosBusquedas = $resultado;
    }

    public function editarAction()
    {
		$request = $this->getRequest();
		$tablaBusquedas = new Application_Model_DbTable_Busquedas();
		$empresaInfo = Zend_Auth::getInstance()->getStorage()->read();
		
		// checkear si tiene permiso para editar la busqueda
		$permisos = $tablaBusquedas->isEditable($request->getParam('id'),$empresaInfo['idEmpresa']);
		if($permisos){
			$resBusqueda = $tablaBusquedas->getBusquedasFromId($request->getParam('id'));
			//print_r($resBusqueda);
			$form = new Application_Form_IngresarBusqueda();
			$form->populate($resBusqueda[0]);
			$form->setAction('/busquedas/editar/id/'.$request->getParam('id'));
			
			$this->view->editada = false;
			if($this->_request->isPost() && $form->isValid($this->_request->getPost())) {
				
				$tablaBusquedas = new Application_Model_DbTable_Busquedas();
				$datos = array(
					'idempresa' => $empresaInfo['idEmpresa'], 
					'idcategoria' => $form->getValue('perfil'), 
					'descripcion' => $form->getValue('descripcion'), 
					'estudios' => $form->getValue('estudios'), 
					'experiencia' => $form->getValue('experiencia')
				);
				$where = array('id = ?' => $resBusqueda[0]['id']);
				$tablaBusquedas->update($datos,$where);
				$this->view->editada = true;
			}
			
			$this->view->editarBusqueda = $form;
		}else{
			$this->_helper->redirector('listar', 'busquedas');
		}
    }

    public function borrarAction()
    {
		$request = $this->getRequest();
		$tablaBusquedas = new Application_Model_DbTable_Busquedas();
		$empresaInfo = Zend_Auth::getInstance()->getStorage()->read();
		
		// checkear si tiene permiso para editar la busqueda
		$permisos = $tablaBusquedas->isEditable($request->getParam('id'),$empresaInfo['idEmpresa']);
		if($permisos){
			$where = array('id = ?' => $request->getParam('id'));
			$tablaBusquedas->delete($where);
			$this->_helper->redirector('listar', 'busquedas');
		}else{
			$this->_helper->redirector('listar', 'busquedas');
		}
    }


}









